Keys are unique codes that can be used to provide authorisations for digital products, such as software or digital content, or for hardware products.
These keys can be provided to customers via a printed mechanism where the customer obtains a physical copy of the printed code, or as digital keys via an electronic mechanism where the customer is emailed the code or where the code is provided directly to the customer's device for use by the digital product delivery system.
In one particular key distribution system, keys are obtained from a plurality of providers and electronically distributed to a plurality of customers. One example of this system is the provision of downloadable games via an e-commerce platform.
For this system, the keys are typically stored within a table within a database and when a customer requests a particular digital product, a relevant key is removed from the table and sent to the customer.
However, this mechanism has a number of disadvantages particularly where there are a large number of digital products and a high frequency of customer requests. In this situation, multiple requests made to a single table within the database will result in customers being put into a queue and/or, potentially, result in an unreliable database system with some keys being distributed multiple times or not at all. This results in slow and/or error prone delivery of the keys to customers.
Furthermore, when keys are being provided by multiple providers into the distribution system, keys can be provided from these providers in a haphazard manner and some keys may need to be revoked from the system by a provider. To add or revoke keys to/from a table means that the table must be locked for access. Once a lock is placed on the table, customers are queued to wait for their keys. This results in a database system which is unable to provide reliable and real-time delivery of data (in this instance, delivery of keys to customers).
It is an object of the present invention to provide a digital key distribution system which overcomes the disadvantages of the prior art, or at least provides a useful alternative.